// models/user_top_article_model.go
// =============================================================================
// | 包: models                                                              |
// | 功能: 定义应用程序的数据模型，映射数据库表结构                           |
// =============================================================================
package models

import "time"

// =============================================================================
// | 结构体: UserTopArticleModel                                             |
// | 功能: 用户置顶文章数据模型                                              |
// | 说明: 映射数据库中的用户置顶文章表，记录用户置顶的文章信息              |
// |----------------------------------------------------------------------------|
// | 字段: UserID - uint - 用户ID，置顶文章的用户唯一标识                     |
// | 字段: ArticleID - uint - 文章ID，被置顶文章的唯一标识                    |
// | 字段: UserModel - UserModel - 置顶用户信息，不JSON序列化                 |
// | 字段: ArticleModel - ArticleModel - 被置顶文章信息，不JSON序列化          |
// | 字段: CreatedAt - time.Time - 置顶时间，记录用户置顶文章的时间点         |
// =============================================================================
type UserTopArticleModel struct {
	UserID       uint         `gorm:"uniqueIndex:idx_name" json:"userID"`
	ArticleID    uint         `gorm:"uniqueIndex:idx_name" json:"articleID"`
	UserModel    UserModel    `gorm:"foreignKey:UserID" json:"-"`
	ArticleModel ArticleModel `gorm:"foreignKey:ArticleID" json:"-"`
	CreatedAt    time.Time    `json:"createdAt"` // 收藏的时间
}
